В виртуальный машине вы можете установить любое приложение по своему желанию, а если использовать Docker, то только первоначальная настройка займёт немного времени, но потом всё будет работать легко и просто. Я настоятельно рекомендую использовать Docker. Если в будущем вы поменяете версию .NET или Python, если ваше приложение использует змею, вам не прийдётся переустанавливать зависимости на каждом сервере. Достаточно обновить Dockerfile и в процессе установки всё обновиться автоматически.
Установка PHP зависит от операционной системы, которую вы используете. Проще всего устанавливать в Linux, но в других ОС тоже не так сложно.